package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.labdata.domain.LabFile;
import com.ruoyi.system.domain.ProjectCreation;

/**
 * 项目创建申请Service接口
 * 
 * @author ruoyi
 * @date 2022-02-13
 */
public interface IProjectCreationService 
{
    /**
     * 查询项目创建申请
     * 
     * @param instancetIds 项目创建申请ID
     * @return 项目创建申请
     */
    public ProjectCreation selectProjectCreationById(Long instancetIds);

    /**
     * 查询项目创建申请列表
     * 
     * @param projectCreation 项目创建申请
     * @return 项目创建申请集合
     */
    public List<ProjectCreation> selectProjectCreationList(ProjectCreation projectCreation);

    /**
     * 新增项目创建申请
     * 
     * @param projectCreation 项目创建申请
     * @return 结果
     */
    public int insertProjectCreation(ProjectCreation projectCreation);

    /**
     * 修改项目创建申请
     * 
     * @param projectCreation 项目创建申请
     * @return 结果
     */
    public int updateProjectCreation(ProjectCreation projectCreation);

    /**
     * 修改项目创建流程审批状态
     *
     * @param projectCreation 项目创建申请
     * @return 结果
     */
    public int updateProjectCreationStatus(ProjectCreation projectCreation);


    /**
     * 批量删除项目创建申请
     * 
     * @param instancetIds 需要删除的项目创建申请ID
     * @return 结果
     */
    public int deleteProjectCreationByIds(Long[] instancetIds);

    /**
     * 删除项目创建申请信息
     * 
     * @param projectFlowId 项目创建申请ID
     * @return 结果
     */
    public int deleteProjectCreationById(Long projectFlowId);

    //项目创建流程提交
    int commitProjectCreation(ProjectCreation projectCreation);

    List<LabFile> getInstanceFiles(Long instanceId);
}
